| автор перевода - Штрек - flash-club.ru | Предыдущая | Следующая | Оглавление |
Flash Player 4, Flash Player 5. Во Flash 5, (+) является или числовым оператором, или объединителем строк, в зависимости от типа данных параметра. Во Flash 4, + - это только числовой оператор. Файлы Flash 4, перенесенные в Flash 5 преобразуются, чтобы обеспечить целостность данных. С приведённом примере показано преобразование файлов из Flash 4, которые содержат числовое сложение :
Файл Flash 4 :
x + y
Преобразованный Flash 5/или выше/ файл:
Number(x) + Number(y)
expression1+ expression2
expression1,expression2 Число или строка
Строку, целое число или число с плавающей точкой.
Оператор, складывает числовые выражения или конкатенирует /связывает/ строки. Если одно выражение является строкой, все другие выражения конвертируются в строки и конкатенируются.
Если оба выражения являются целыми числами, то сумма - целое число. Если одно или оба выражения являются числами с плавающей точкой, то сумма - число с плавающей точкой.
Для дополнительной информации, смотрите "Старшинство и ассоциативность операторов" в Использовании ActionScript во Флэш .
Использование 1: В этом примере связываются две строки и результат отображается в Output панели.
var name:String = "Cola"; var instrument:String = "Drums"; trace(name+" plays "+instrument); // выводится: Cola plays Drums
Использование 2: Здесь оператор складывает два целых числа 2 и 3 и выводит результат 5 (также целое число) в окно Output :
trace(2+3); // выводится: 5
В другом случае, оператор складывает числа с плавающей точкой 2.5 и 3.25; результат 5.75 отображается в окне Output. Результат будет число с плавающей точкой :
trace(2.5+3.25); // выводится: 5.75
Использование 3: Переменные, ассоциированные с динамическими полями и полями
ввода, имеют тип String. В следующем примере, переменная deposit.text
является ассоциированной с полем ввода на сцене. После того, как пользователь
вводит количество депозита, код пытается добавить deposit.text
к oldBalance. Так как deposit.text имеет тип String,
код связывает строки /oldBalance преобразуется в строку/, вместо
того чтобы вывести их сумму.
var oldBalance:Number = 1345.23; var currentBalance = deposit.text + oldBalance; trace(currentBalance);
Для примера, если пользователь вводит 475 в поле deposit.text , функция trace()
выводит значение 4751345.23 в Output панели.
Для корректной работы, необходимо использовать Number()
- функцию, конвертирующую строку в число, как в этом примере :
var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance; trace(currentBalance);
Следующий пример показывает, как вычисление суммы чисел, стоящих справа от строки, не происходит :
var a:String = 3 + 10 + "asdf"; trace(a); // 13asdf var b:String = "asdf" + 3 + 10; trace(b); // asdf310
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |